#include<stdlib.h>
#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/wait.h>
#define LEFT 30000
#define RIGHT 30300
#define N 4
int main()
{
	int i,n,is_prime,m;
	pid_t pidid;
	for(m=0;m<N;m++)
	{
		pidid=fork();
	
		if(pidid<0)
		{
			perror("fork()");
			return -1;
		}
		if(pidid==0)
		{
			for(i=LEFT+m;i<RIGHT;i+=N)
			{	

				is_prime=1;
				for(n=2;n<=i/2;n++)
				{
					if(i%n==0)
					{
						is_prime=0;
						break;
					}

				}	
				if(is_prime)
					printf("[%d]%d\n",m,i);
			}	
			return 0;
		}
	}
	for(m=0;m<N;m++)
	{
		wait(NULL);
	}
	return 0;
}
